1. Field of the Invention
The present invention relates to a disk array device and particularly, to a disk array device having a snapshot simulation function.
2. Related Background Art
A disk array device is provided with a plurality of disk drives and it is known as an external storage of a host computer.
A snapshot function, which has become popular as a function of a disk array device, is used to store data at a time point specified by a user. For storing the data, there is a method comprising duplicating data of two logical volumes in advance and separating the data according to an instruction of creating a snapshot or a method comprising copying data in an updated area (update data) for the logical volumes after creating a snapshot and managing the data.
In the data storing method of copying and managing the update data, only updated differentials are stored. Therefore, it is possible to make copies of a plurality of generations efficiently in capacity by using a virtual disk and a required area is secured newly when the data has been updated. Thus, it has an advantage of being more efficient in capacity than the method of duplicating the logical volumes in advance.
For example, in the conventional method of storing only update differentials, the host computer issues a pair formation request and a pair separation request to a disk subsystem, creates a snapshot of volume and after that, starts the processing. A position of data updated after creation of the snapshot is stored in the disk subsystem as differential information. Upon receiving a data restoration request from the host computer, the disk subsystem restores data at a position where update is performed from the snapshot on the basis of the differential information. This enables a restoration of data destroyed due to a fault or the like, which occurs during execution of processing, from backup data at high speed (See pages 3 to 4 and FIG. 1 of JP-A-2001-216185).
In another example of the conventional method of storing only update differentials, a first data holding portion performs ordinary read/write processing. A second data holding portion saves the snapshot image of the first data holding portion at a certain time point. A third data holding portion saves history information containing update data with data-rewriting to the first data holding portion after the time point of saving the snapshot image in the second data holding portion, information indicating the generation thereof, and information indicating the update area thereof. A data read source selecting portion acquires the saving place of the snapshot image to be read by referring to each of history information saved in the third data holding portion according to the designation of the generation and area of the snapshot image to be read and switches the read source of data to the second data holding portion or the third data holding portion according to the saving place. This enables a system to be composed of the few storage devices (more compact and inexpensive) and to arbitrarily read snapshot images of a plurality of generations (See page 4 and FIG. 1 of JP-A-2002-278819).
Furthermore, in still another example of the conventional method of storing only update differentials, two logical disks are assumed a master logical disk and a snapshot logical disk: the two logical disks have the same stored contents if they are arranged in a mirror configuration, or the contents of the master logical disk (snapshot differential information) is stored in the snapshot logical disk in the case of mirror separation. The snapshot differential information is stored in a list format differential information table just after the mirror separation. In the case that the list format differential information table is full and also, a new entry cannot be added, that is, in the case that a differential information table area for storing the list format differential information table cannot be expanded, the list format differential information table is converted into a bitmap format differential information table, and after that, snapshot differential information is stored in the bitmap format differential information table. This makes the copy data quantity reducible in spite of being of a relatively small memory capacity in comparison with the case where a bitmap format is singly used, by using the bitmap format and a list format properly to store snapshot differential information (See page 6 to 7 and FIG. 4 of JP-A-2002-373093).
In the disk array device using just these conventional methods of storing only update differentials, a physical disk capacity is allocated to a virtual disk after data updating is performed. The physical disk capacity to be allocated does not correspond directly to an update data quantity itself, but corresponds to management units (blocks) which are divided and managed by the disk array device in the inside thereof. Therefore, it is a generally used method to store information on presence or absence of updating (differential information) as a bitmap for each management unit of a logical volume in order to manage the range of the update data. The size of the management unit is arbitrary. A large size of the management unit reduces a size of the bitmap, but it deteriorates the efficiency in capacity of the physical disk to the contrary. The reason is that even data updating whose range is smaller than the management unit requires a physical disk capacity of the management unit including the range of the update data. Therefore, in general, the physical disk capacity necessary for the snapshot is not the same as the update data quantity from the host computer, but it is lager than the update data quantity. For example, if the management unit is 32 kilo bytes (KB), the 32 KB physical disk capacity is reserved for 4 KB data updating. While sequential data updating uses all of 32 KB areas of the management unit, random data updating requires a new 32 KB physical disk capacity to be ensured every time 4 KB data is updated.
Therefore, the required physical disk capacity depends upon input-output characteristics (operation contents) of an application program (operation job) operating in the host computer. Thus, it has been difficult to estimate the physical disk capacity necessary for the snapshot until the operation is put into practice.
That is, in the conventional disk array devices, it is difficult to estimate the required physical disk capacity until the snapshot is practically created, since the physical disk capacity practically required depends upon input-output characteristics of an application program operating in the host computer even for the same update data quantity.